/**************************
 * \if English
 * @Date:2018.09.10
 * @Author:
 * @Brief:
 * @Detail:
 * @Editor:
 * @Brief:
 * \else
 *
 * @创建日期：2018年9月10日
 * @作者：hualei
 * @大概功能：MOVE_MAG指令
**************************/

#ifndef MOVEMAG_H
#define MOVEMAG_H
#include "instructionEnum.h"


/**
 * @brief The MoveMagInstruction class          从数据流中获取或写入指令参数
 */
class MoveMagInstruction
{
public:
    MoveMagInstruction();
    /**
     * @brief operator <<   向数据流中写入指令参数
     * @param out           写入数据流
     * @param myVector      指令
     * @return
     */
    friend QDataStream& operator <<(QDataStream &out, MoveMagInstruction &myVector);

    /**
     * @brief operator >>       向数据流中读取指令参数
     * @param in                读取数据流
     * @param myVector           指令
     * @return
     */
    friend QDataStream& operator >>(QDataStream &in, MoveMagInstruction &myVector);

public:
    INSTRUCTION_TYPE instructionType;           // 指令类型

    E_MOVE_MAG_LMR_TYPE moveMagDirectionLMR;    //　左中右移动方向

    E_MOVE_MAG_FB_TYPE moveMagDirectionFB;      // 前后移动方向

    int velocityRatio;                          // 运动速度比

    QString rfidInternalValue;                  // RFID 标签数据

    QString noteStr;                            // 注释

    E_MOVE_MAG_STOP_TYPE stopType;              // 停止类型

    int stopInputNum;                           // 开关量停止数值
};

#endif // MOVEMAG_H
